#ifndef MAINSCENEWIDGET_H
#define MAINSCENEWIDGET_H
#include <QGLWidget>
#include "ReconstructByKinectCommon.h"
#include "ReconstructProcess.h"

class MainSceneWidget : public QGLWidget
{
	Q_OBJECT

public:
	MainSceneWidget (int argc, char *argv[], QWidget *parent = NULL);
	~MainSceneWidget ();

	virtual void initializeGL ();

	virtual void paintGL ();

	void mousePressEvent (QMouseEvent * e);

	void mouseMoveEvent (QMouseEvent * e);

	void mouseReleaseEvent (QMouseEvent * e);

	void wheelEvent (QWheelEvent * e);

	void keyPressEvent (QKeyEvent * e);

	void keyReleaseEvent (QKeyEvent * e);

private:

	void _setLight ();
	void _drawViewports ();
	void _drawModelObjects ();
	void _drawPointClouds ();
	void _processSensorData ();
	void _drawCoord ();
	void _parseCommandLineArgs (int argc, char *argv[]);
	Camera g_camera;
	CameraInterface _cameraInterface;
	bool g_isPause;
	bool g_isTex;
	bool _isModelShow[9];
	ReconstructProcess g_reconstructProcess;
};

#endif // MAINSCENEWIDGET_H